/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package hci;

import backend.Categories;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import javax.swing.ActionMap;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import org.jdesktop.application.Action;
import org.jdesktop.application.Application;
import org.jdesktop.application.ApplicationContext;

/**
 *
 * @author Capx
 */
public class ListarCategorias {

    private JPanel contenedor;
    private JPanel anterior;
    private JPanel categorias;
    private JList lista;

    ListarCategorias(JPanel contenedor, JPanel anterior){
        this.contenedor = contenedor;
        this.anterior = anterior;
    }

    @Action
    public void volver(ActionEvent e){
        /*aca convendría removerlo por completo porque si vuelvo
        **a entrar puedo crear un panel nuevo*/
        contenedor.remove(categorias);
     //   categorias.setVisible(false);
        anterior.setVisible(true);
    }

    @Action
    public void subcategorias(ActionEvent e){
        ListarSubCategorias subcategoria;
        int seleccion;
        categorias.setVisible(false);

        /*VER!! obtener el id de categoria del xml!!!*/
        seleccion = lista.getSelectedIndex();
        //seleccion = (String)lista.getSelectedValue();

        subcategoria = new ListarSubCategorias(contenedor, categorias, seleccion+1);
        subcategoria.initialize();
    }

    @Action
    public void home(ActionEvent e){
        contenedor.remove(categorias);
        contenedor.getComponent(0).setVisible(true);
        //anterior.setVisible(true);
    }

    public void initialize(){
        Categories ca = new Categories();
        ca.initialize();

        String[] listaCategorias = ca.getCategories();

        ApplicationContext ctx = Application.getInstance().getContext();
        ActionMap map = ctx.getActionMap(this);

        categorias = new JPanel();
        categorias.setLayout(new GridLayout(0, 1));
        categorias.add(new JLabel("Elija una categoria"));
//        categorias.add(new JLabel("categorias"));
        lista = new JList(listaCategorias);
//        lista.addListSelectionListener();
        /*VER!! el scroll pane me arruina la visualizacion*/
//        JScrollPane pane = new JScrollPane(lista);
//        categorias.add(pane);
        categorias.add(lista);
        categorias.add(new JLabel(""));
        JButton sub = new JButton();
        sub.setAction(map.get("subcategorias"));
        sub.setText("Subcategorias");
        JButton volver = new JButton();
        volver.setAction(map.get("volver"));
        volver.setText("Volver");
        JButton home = new JButton();
        home.setAction(map.get("home"));
        home.setText("Menu Principal");
        categorias.add(sub);
        categorias.add(volver);
        categorias.add(home);

        contenedor.add(categorias);
    }
}
